Fault detection is a common problem in networks and network-like systems.
FIG. 1 shows an example of such a system 10. The system 10 comprises three different element types: a first plurality of elements having a first element type 12a . . . 12n; a second plurality of elements having a second element type 14a . . . 14n; and a third plurality of elements having a third element type 16a . . . 16n. 
In operation of this exemplary system 10, the functionality of each element type is required for a particular task to be carried out. An example is illustrated by the solid line in FIG. 1. First element 12a performs a task, and generates an output for element 14c. Then element 14c in turn performs a task and generates an output for element 16b. Thus, a path is established between these three elements 12a, 14c, 16b. 
It may also be the case that a functional path may be established which uses more than one element of the same element type. For example, a path may be established between elements 12a, 14c, 14d, and 16b (not illustrated in FIG. 1).
An advantage of this system 10 is that the plurality of elements of each element type allows different paths to be selected at will. An alternative path is shown by the dashed line in FIG. 1, using elements 12d, 14b and 16a. In practice, paths between elements are dynamically selected to allow optimal utilization of those elements.
An example of such a system is a multi-standard base station. In such base stations, hardware is pooled between standards, and there is no hard relationship between the logical resources. Instead, connections between resources are dynamically established and then may be dropped once a particular function has been completed.
A problem with such dynamic hardware allocation is fault detection. In the example shown by the dashed line in FIG. 1, if element 14b is faulty, the entire functionality of the path represented by the elements 12d, 14b, 16a will be lost. A user of the system then has no information to establish which element of the path is faulty.
A system with just one faulty element therefore exhibits erratic faulty behaviour, according to how often the faulty element is selected in a functional path, and it is difficult to accurately identify the faulty element.